How can hardware support Just-In-Time compilation?
نویسندگان
چکیده
Just-In-Time (JIT) compiler is an e cient and preferred style of implementing the Java Virtual Machine (JVM) on resource-rich machines. Using a JIT compiler, the bytecodes are translated to native code at runtime. In this paper, we investigate where the time is spent in such dynamic compilers and how well a smart JIT compiler can do. Next, we propose architectural mechanisms that can be used to support the dynamic code generation
منابع مشابه
Hardware compilation for high performance Java processors
High performance on Java applications running on server and desktop machines requires fast execution of Java bytecodes. Such performance can be achieved by Just-In-Time (JIT) compilers, which translate the stack-based bytecodes into register-based machine code on demand. But one crucial problem in Java JIT compilation is the compilation time, which increases the total execution time of an appli...
متن کاملA Dynamic Overlay Supporting Just-In-Time Assembly to Construct Customized Hardware Accelerators
Barriers that prevent programmers from using FPGAs include the need to work within vendor specific CAD tools, knowledge of hardware programming models, and the requirement to pass each design through synthesis, place and route. In this work, a dynamic overlay is designed to support JustIn-Time assembly by composing hardware operators to construct full accelerators. The hardware operators are pr...
متن کاملUsing Hardware Counters To Improve Dynamic Compilation
In this paper, we describe our project to explore the use of hardware counters to improve triggering techniques for runtime dynamic code recompilation. The Intel Open Runtime Platform (ORP) was chosen as the target Just In Time (JIT) compilation-capable Java Virtual Machine (JVM). The performance counter library (PCL) implemented by Rudolf Berrendorf et al. was used to retrieve real-time micro-...
متن کاملArchitectural Issues in Java Runtime Systems
The Java Virtual Machine (JVM) is the corner stone of Java technology, and its eeciency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-In-Time (JIT) compilation , and hardware realization are well known solutions for a JVM, and previous research has proposed optimizations for each of these techniques. However, each technique has its ...
متن کاملCUDA-level Performance with Python-level Productivity for Gaussian Mixture Model Applications
Typically, scientists with computational needs prefer to use high-level languages such as Python or MATLAB; however, large computationally-intensive problems must eventually be recoded in a low level language such as C or Fortran by expert programmers in order to achieve sufficient performance. In addition, multiple strategies may exist for mapping a problem onto parallel hardware; unless the h...
متن کامل